home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
IDLIncludes
/
DeviceNotify.idl
< prev
next >
Wrap
Text File
|
1996-05-01
|
5KB
|
160 lines
/*
File: DeviceNotify.idl
Contains: xxx put contents here xxx
Version: Technology: xxx put the technology version here xxx
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
*/
#ifndef __DEVICENOTIFY_IDL__
#define __DEVICENOTIFY_IDL__
#include <somobj.idl>
#include <somcls.idl>
#ifndef __TYPES_IDL__
#include <Types.idl>
#endif
#ifndef __KERNEL_IDL__
#include <Kernel.idl>
#endif
#ifndef __NAMEREGISTRY_IDL__
#include <NameRegistry.idl>
#endif
#ifdef __SOMIDL__
#if FOR_SYSTEM8_PREEMPTIVE
/*
ß
##############################################################################
File Name: DeviceNotifyPriv.h
Description:
The device notification service is used by Copland Kernel band
Low level family expert code to inform high level "consumers" about
hot plugging/un-plugging of devices.
The High level families or code modules running in priviledged mode
can subscribe to the service with the DevNRegisterInterestIn().
LL Family notifies its consumers through the DevNNotifyThatThisChanged().
##############################################################################
############################
Defines
############################
*/
typedef UInt32 DevNRef;
/*
a connection Reference Num for a particular subscription
a consumer subscription is identified by a unique
DevNSubRef. In order to cancel a consumer registration,
the DevNSubRef must be specified.
a Reference Num for a particular notification
A notification is identified by a unique DevNRef,
since a notification can go through couple of states, and
it needs to be tracked with a unique identifier.
*/
/*
ß
########################################################################
Known & valid Service Category definitions are defined in DFM.h
########################################################################
*/
/*
ß
########################################################################
Event definition:
If kDevNSoftRequestMask is set in conjunction with an event value,
then a soft request is indicated, and the DevN will handle all the
drudgery associated with two-way transactions, etc.
(e.g. If (kDevNRemoved and kDevNSoftRequestMask) is received, it's
a soft eject request)
If kDevNSoftRequestMask is NOT set, then it's a hard request
If the kDevNWarningMask is set, then it's an event warning that
a given event is about to happen (and the consumer can't do a thing
about it). It will be followed later on by a gone hard event.
the kDevNWarningMask and the kDevNSoftRequestMask can NOT be set at
the same time.
########################################################################
*/
typedef UInt32 DevNEventType;
/*
pre-defined event mask
ß
definition of valid global event
(10/11/95) Events are now enum instead of masks
enum for "unsigned" values
*/
/* enum for "signed" values*/
/*
ß
########################################################################
Routine return value definition
########################################################################
*/
typedef UInt32 DevNPermissionResponse;
/* status returned by consumer to DevN*/
/*
########################################################################
Error code definition
########################################################################
*/
/*
########################################################################
Subroutine Prototype
########################################################################
no more handlers
######################
called by consumer
######################
*/
/*
call to register family defined events.
itemCount specifies how many events are desired
(Only create one event at a time)
*/
/* de-register the given event*/
/*
must be called after an kDevNPermissionDelayed is returned to the DevN
for a notification response.
######################
called by producer
######################
*/
/*
#####################################
Notification Message definitions
#####################################
*/
typedef SOMLargeStruct DevNMessage; /* Derived from a struct of 32 bytes in size */
/*
#########################################################
Device Notification sub-message types.
(This is in the "subMessageType" field inside
The DevNMessage structure)
#########################################################
*/
#endif
#endif /* __SOMIDL__ */
#endif /* __DEVICENOTIFY_IDL__ */